home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Lengths / Generate / g-length next >
Text File  |  1998-10-09  |  1KB  |  37 lines

  1. g-length denominator numerator
  2.  
  3. Sometimes composers need to score precise lists of note-lengths. The g-length1 function provides a short-hand for writing note-lengths quickly and accurately in both single and multiple lists. 
  4.  
  5. (g-length 16 '(0 1 1 0))
  6. => (-1/16 1/16 1/16 -1/16)
  7.  
  8. In this example the denominator is a sixteenth '(16) followed by the numerator shorthand for a combination of note-length rests '(0) and note-lengths '(1). 
  9.  
  10. (g-length '(16 32) '((0 1 1 0) (0 2 0 1)))
  11. => ((-1/16 1/16 1/16 -1/16) (-1/32 2/32 -1/32 1/32))
  12.  
  13. (g-length 16 '((0 1 1 0) (0 2 0 1)))
  14. => ((-1/16 1/16 1/16 -1/16) (-1/16 2/16 -1/16 1/16))
  15.  
  16. Notice in these example with multiple lists how the numerator '(2) adds up the denominators. The denominators also lists the respective value for each list. 
  17.  
  18. (g-length '(16 32) '((0 3) (5 4 3) (-3) (-2 3 0)))
  19. => ((-1/16 3/16) (5/32 4/32 3/32) (-3/16) (-1/32 -1/32 3/32 -1/32))
  20.  
  21. (g-length '(16 20) '((0 1 1 0) (0 2 0 1)))
  22. => ((-1/16 1/16 1/16 -1/16) (-1/20 1/10 -1/20 1/20))
  23.  
  24. (g-length
  25.  '(16 32)
  26.  (symbol-divide
  27.   '(2 3 1 4 2 3) nil nil
  28.   (cfunction (gen-noise-white 20 1.0 .25)
  29.                (g-integer -2 5))))
  30.  
  31. => ((-1/8 1/16) (3/32 1/16 1/16) (5/16) (-1/16 -1/16 1/32 -1/32) (-1/16 3/16) (5/32 1/8 5/32) (1/16 3/16) (1/8 3/32 1/32))
  32.  
  33. In these examples you can see more complex operations on multiple lists. The function will also work with ratios as denominators and complex irrationals.
  34.  
  35.  
  36.  
  37.